The function in a digital television of downloading a program and checking/guaranteeing the credibility of such program is described in the DVB-MHP specification “ETSI TS 101 812 V1.2.1 DVB-MHP Specification 1.0.2”, and others. This DVB-MHP specification defines the function of verifying that a program superimposed on a broadcast wave being received has not been tampered with as well as that whether or not such program was issued by a reliable organization. This function makes it possible to prevent a rewritten program that dose not operate as originally required and therefore would inflict damage to the digital television and a program of a spoofing third party, from being activated.
The function of updating a program is described in OCAP specification (OCAP 1.0 Profile OC-SP-OCAP1.0-IF-109-031121). According to this OCAP specification, when it is detected, in a XAIT (table that describes about programs), a program upgrade signal (the version of a program is upgraded whenever its descriptions have changed), all files of a program such as class file and data file currently stored in a secondary memory (e.g. flash ROM) are deleted and replaced by files of an upgraded program such as class file and data file.
Meanwhile, Japanese Laid-Open Patent Application No. 2000-259417 discloses a technique to replace an object that constitutes an execution environment by executing the following steps in response to a request from an executing entity or another object that constitutes the execution environment: a step of deleting an object that constitutes the execution environment; and a step of obtaining a new object from an external system.
When a program is upgraded, not all of its files such as class file and data file are upgraded, but such program is upgraded only partially. However, according to the conventional technique, all the files of a stored program are required to be deleted to be replaced by files of an upgraded program, even when the program needs to be upgraded only partially. This is a problem with the conventional technique since responsiveness is decreased in proportion to the length of time required for storage. Furthermore, in the case of storing a program into a non-volatile memory once so as to activate such program after the apparatus is powered ON/OFF, authentication of the program is performed immediately before it is activated. In this case, it is necessary to perform calculations such as decryption of an encrypted value before the activation of the program starts, which causes a problem that responsiveness is decreased more as a longer time is required for calculations. Especially in the case where a program is frequently activated or where the capacity of a program is large, the responsiveness becomes more and more degraded since the amount of calculations increases in proportion to activation frequency and capacity.
In view of the above problem, it is desired to provide a program execution apparatus such as digital television with increased responsiveness that is capable of shortening the time required for program update and shortening the time required before a program is activated, while guaranteeing the credibility of the program.